#include <stdio.h>

//位域：指定结构体中变量所占的比特位数
//存放真假是只需要1个比特位就可以实现的信息存储，如果用几个字节来存储就比较浪费，这时就可以使用位域
struct Test
{
    int a : 1;  //1表示位
    char b : 1;
};

int main()
{
    struct Test t;
    printf("%ld\n", sizeof(t));
    //printf("%p %p", &t.a, &t.b);    //位域不能取地址（因为取地址的前提是它能够变成指针，指针是指向内存空间，它的最小颗粒度是一个字节，它甚至都存不满一个字节，所以指针的颗粒度是没有办法指向一个位域的）
    printf("%p %p", t.a, t.b);  
    return 0;
}